레드팀
레드팀풀체인_06_내부 정찰
작성자 : Heehyeon Yoo|2025-12-26
# RedTeam# InternalRecon# ActiveDirectory# LDAP# BloodHound
1. 내부 정찰의 목적
초기 침투와 거점 확보 이후, 현재 장악한 시스템의 문맥(Context)을 파악하고 후속 공격(Lateral Movement, Data Exfiltration)의 전략을 수립하기 위해 수행한다.
- 핵심 질문: "나는 누구인가(Who am I)?", "여기는 어디인가(Where am I)?", "내가 속한 환경은 무엇인가?"
- Blend-In: 정상적인 사용자와 프로세스 사이에 섞여들기 위해 환경을 철저히 분석해야 한다.
2. 호스트 정보 수집(Host Reconnaissance)
장악한 엔드포인트(Endpoint) 내에서 수집할 수 있는 정보를 확인한다. 탐지를 피하기 위해 가능하면 Living Off The Land(LotL) 도구나 C2 프레임워크의 내장 기능(BOF)을 사용한다.
2.1. 프로세스 컨텍스트(Process Context)
현재 내 악성코드가 실행되고 있는 프로세스의 권한과 상태를 파악한다.
- Integrity Level(MIC):
Medium: 일반 사용자 권한.High: 관리자 권한(UAC 우회 필요).System: 윈도우 시스템 최고 권한.- High 이상이어야 Mimikatz 등 자격 증명 탈취 공격이 가능하다.
- 부모-자식 관계(Parent-Child Relationship):
- 작업 스케줄러로 실행된 경우 부모 프로세스가
svchost.exe인 것이 정상이다. explorer.exe하위의notepad.exe등 자연스러운 트리를 형성하고 있는지 확인해야 한다.- 이상 징후:
Word.exe가powershell.exe를 자식으로 생성하거나, 3일 내내 떠 있는Updater프로세스는 의심을 산다.
- 작업 스케줄러로 실행된 경우 부모 프로세스가
2.2. 사용자 및 세션 정보
whoami /groups: 현재 사용자가 속한 로컬/도메인 그룹 확인.(예:Administrators그룹 포함 여부)Query Login: 현재 호스트에 로그인된 다른 사용자(Session) 확인. 다른 사용자의 세션이 있다면 해당 사용자의 토큰(Token)을 탈취하거나 티켓(TGT)을 훔쳐 횡적 이동의 발판으로 삼을 수 있다.
2.3. 시스템 정보(System Info via BOF)
- Hostname: 이름 규칙(Convention)을 통해 호스트의 역할(Web, DB, Dev) 유추.
- Uptime: 시스템 가동 시간 확인.
- 레드팀 팁: Uptime이 매우 길다면(며칠 이상), 사용자가 PC를 끄지 않는 습관이 있음을 의미하므로 지속성(Persistence) 유지 부담이 줄어든다. 반대로 칼같이 끄는 사용자라면 주의가 필요하다.
- Protection: 설치된 AV/EDR 솔루션 프로세스 식별.
3. 도메인 정보 수집(Domain Reconnaissance)
호스트가 도메인(Active Directory)에 가입되어 있다면, 전체 네트워크 구조와 권한 관계를 파악해야 한다.
3.1. 수동 LDAP 쿼리(Manual LDAP Query)
자동화 도구 사용을 지양하고, 필요한 정보만 은밀하게 조회하는 방식이다.
- OU Walking:
Organizational Unit(OU)구조를 단계별로 조회하여 조직도(지역, 부서, 서버/PC 그룹 등)를 파악한다.- Query:
(objectClass=organizationalUnit)
- Query:
- Object 식별: 사용자(Users), 그룹(Groups), 컴퓨터(Computers) 등 주요 객체 식별.
- Tip:
Super Users,Service Accounts등 특권 계정이 모여 있는 OU를 찾는다.
- Tip:
3.2. 자동화 도구: BloodHound
AD 환경의 공격 경로(Attack Path)를 시각화해주는 가장 강력한 도구다.
- 작동 원리:
SharpHound(수집기)가 LDAP 쿼리와 SMB 세션을 통해 대량의 정보를 수집하고, 이를 그래프 DB(Neo4j)에 저장하여 시각화한다. - 탐지 위험: 기본 설정으로 돌리면 LDAP 쿼리 양이 폭증하고, 모든 호스트에 SMB 접속을 시도하므로 매우 시끄럽다(Noisy). 최신 EDR(MDE, CrowdStrike)은 이를 즉각 탐지한다.
- OpSec 적용:
CollectionMethod:DCOnly옵션을 사용하여 SMB 스캔을 제외하고 도메인 컨트롤러(DC) 대상으로만 LDAP 쿼리를 날려 탐지 확률을 낮춘다.- 국내 환경: 아직까지 내부망 보안 모니터링이 성숙하지 않은 곳이 많아 BloodHound가 탐지되지 않는 경우도 많다.(하지만 항상 주의할 것).
3.3. 프록시를 통한 수집
내부망에 직접 접속할 수 없으므로, SOCKS Proxy(Chisel)와 Proxychains를 연동하여 외부 공격자 PC(Kali)에서 내부 AD로 도구를 실행한다.
# Proxychains를 통해 Python 기반 BloodHound 수집기 실행
proxychains4 bloodhound-python -u 'user' -p 'pass' -d 'domain.local' -c DCOnly --zip